This invention relates to automated transaction machines. Specifically, this invention relates to an automated transaction machine system and method that is operative to print transaction documents such as transaction receipts responsive to user-defined document templates.
Automated transaction machines such as automated banking machines are well known. A common type of automated banking machine used by consumers is an automated teller machine (xe2x80x9cATMxe2x80x9d). ATMs enable customers to carry out banking transactions. Common banking transactions that may be carried out with ATMs include the dispensing of cash, the receipt of deposits, the transfer of funds between accounts, the payment of bills and account balance inquiries. The type of banking transactions a customer can carry out are determined by capabilities of the particular banking machine and the programming of the institution operating the machine. Other types of automated banking machines may allow customers to charge against accounts, to pay bills, to transfer funds or to cash checks. Other types of automated banking machines may print or dispense items of value such as coupons, tickets, wagering slips, vouchers, checks, food stamps, money orders, scrip or travelers checks. For purposes of this disclosure references to an ATM, an automated banking machine or automated transaction machine shall encompass any device which carries out transactions including transfers of value.
ATMs are generally equipped with one or more printers such as a receipt printer, journal printer, depositor printer, and statement printer. For receipts, software operating in the ATM is operative to cause a receipt printer to output a document that includes information about the transactions performed with the ATM. For example, after a withdrawal of cash many ATMs are operative to print a receipt that shows the amount of cash withdrawn from an account. Such a receipt may further include the date of the transaction, the account number associated with withdrawal of cash, the remaining balance in the account or any other information available to the ATM which may be useful to a consumer. Other types of printers in an ATM may print similar transaction information. For example, a depository printer may be operative to print an account number on a deposit envelope. Journal printers may be operative to print an ongoing log of transactions. Statement printers may be operative to print a listing of transactions conducted on one or more accounts of a user. In addition to printers, an ATM display screen may be operative to output details of the transactions.
Printer devices in ATMs and printer paper for the printer devices are also available in many different sizes and configurations. For example, some receipt printers may only print a maximum of 25 characters on each line while other receipt printers may print 40 characters on each line. Some types of receipt paper stock have pre-printed logos or other information, while other receipt paper stock is blank. Some types of receipt printers are designed to print on individual pre-cut sheets of paper, while other receipt printers are designed to print on a continuous roll of paper. Some printers are capable of printing multiple colors, while other printers are operative to print only in one color such as black. Further, some printers are operative to print image bitmaps, while other printers may only print characters from a fixed character set.
Because an ATM may be configured to use a plurality of different types, sizes and configurations of printers, it may be useful for ATM applications to be operative to print a plurality of differently formatted documents responsive to the type, size and configuration of the printer. For example, it may be useful for ATM applications to include specific software components for each different type of printer that may be installed in the ATM. Such components may be specifically xe2x80x9chard codedxe2x80x9d to cause a printer to print a document which is compatible with the printer. However using such an approach, if it ever becomes desirable to change features that arc printed on the document, the individual software components responsible for printing to each of the different printers must be rewritten. Writing new programs to print new versions of receipts or other documents is time consuming and often can only be done by a user who is both skilled in the art of programming and has a detailed knowledge of the targeted printers and the ATM application.
Consequently, there exists a need for an improved system for printing to different types, sizes and configurations of printer devices in an ATM which enables an operator to customize the formats of the documents more easily. There exists a need for a system of printing to different types, sizes and configurations of printer devices in an ATM which enables an operator to customize the formats of the documents without writing new software components for each different type of printer device. There further exists a need for a system for generating new types of ATM receipts which does not require procedural programming language skills and detailed knowledge of ATM software and hardware systems.
It is an object of an exemplary form of the present invention to provide an automated transaction machine at which a user may conduct transactions.
It is a further object of an exemplary form of the present invention to provide an automated transaction machine that enables customized control over the printing of documents.
It is a further object of an exemplary form of the present invention to provide an automated transaction machine that enables the customization of the formats of documents printed with the machine.
Further objects of exemplary forms of the present invention will be made apparent in the following Best Modes for Carrying Out Invention and the appended claims.
The foregoing objects are accomplished in an exemplary embodiment of the invention by an automated transaction machine that may include output devices such as a display screen, and input devices such as a touch screen and/or a keyboard. The transaction machine may further include devices such as a cash dispenser device, one or more printer devices, a card reader/writer device, a depository device and other transaction function devices that are used by the machine in carrying out transaction functions.
The automated transaction machine may be in operative connection with at least one computer. The computer is in operative connection with the output devices and the input devices, as well as with the cash dispenser device, printer device, card reader device, depository device and other physical transaction function devices in the transaction machine.
The automated transaction machine may be in operative connection with at least one data store. The data store includes data corresponding to a plurality of document templates which are stored therein. The document templates define a format for printing documents with one or more printer devices of the automated transaction machine. In an exemplary embodiment, the document templates include a plurality of tags. The tags may specify the information that is to be printed on the document. The tags may also specify the destination printer or screen device for outputting the document. The tags may further specify features of indicia included in the document such as the formatting of numbers and dates. In an exemplary embodiment of the document template, the tags may correspond to the eXtensible Markup Language (XML). However, in alternative exemplary embodiments the tags may correspond to any structure or syntax which is capable of being parsed by a computer to determine a format for printing or displaying a document.
Each of the document templates stored in the data store may be associated with a plurality of template attributes. The template attributes classify the document templates by their targeted use. For example, template attributes may specify the line width of the printer device which is compatible with the document template. Template attributes may further specify the types of transactions that correspond to the document template. For example, a document template may define the format for a withdrawal receipt. Corresponding template attributes for this described document template may indicate that the document template corresponds to a withdrawal transaction. Template attributes may further specify the types of transaction outcomes that correspond to the document template. For example, a document template may define the format for a receipt which indicates that a transaction is unsuccessful. Corresponding template attributes for this described template may indicate that the document template corresponds to an unsuccessful transaction.
Document templates may also specify the type of consumers that correspond to the document template. For example, a document template may define a marketing message targeted to consumers belonging to a particular financial institution. Corresponding template attributes for this described template may indicate that the document template corresponds to consumers of the financial institution.
In addition, document templates may further include template attributes that indicate an overall type of the document template. Document template types may correspond to which section or portion of a document that the document template pertains. For example, template attributes may indicate that the document template corresponds to a header, trailer, or detail section of a document. An exemplary automated transaction machine may be operative to produce a document responsive to multiple document templates, where each document template is directed to producing a different section of the document.
An exemplary embodiment includes one or more software applications operative in or connected to the computer of the automated transaction machine. The software applications are operative to cause the computer to perform a transaction function with the transaction function device responsive to at least one input received through at least one input device. Such a transaction function may include the printing of a document by more than one type of printer device. For example, at the conclusion of a cash withdrawal an automated transaction machine may print both a transaction receipt with a receipt printer and a journal entry of the transaction with an internal journal printer. In an exemplary embodiment, the document template is operative to specify one or more types of different printer devices and/or a screen device of the machine for outputting documents.
In an exemplary embodiment, the software application may further be operative to select a document template from the data store responsive to characteristics of the transaction function, characteristics of the printer device, and/or any other useful property that corresponds to the template attributes associated with the document templates. Exemplary embodiments of the software application may bee operative to select document templates based on one or more of the template attributes matching a desired set of characteristics or properties.
In an exemplary embodiment, the template attributes may include no attribute for one or more selectable characteristics. For example, a document template may have template attributes that correspond to a specific transaction type, however the document template may not have template attributes which indicate characteristics of printer hardware. In such cases, the software application of the automated transaction machine may be operative to select and use the document template to produce documents for the indicated transaction type by causing operation of any of the printer devices that may be installed in the automated transaction machine.
The software application may be operative to cause the computer to print a document using a printer device responsive to the retrieved document template and the transaction function. In general, the software application may cause a document to be printed that includes transaction indicia that is representative of information about the transaction function. For example, if a transaction receipt is required to be printed, the retrieved document template may specify that an amount of value and/or an account number associated with the transaction is to be printed on the document.
In an exemplary embodiment, the document templates are constructed with a template builder application. The template builder application enables a user to select specific types of information that are to be printed out responsive to the document template. The information is organized using XML tags. The tags may include static text such as labels. The tags may further include tokens which are filled-in through operation of the software application of the computer in or connected to the automated transaction machine when a document is constructed responsive to the document template. Such tokens may correspond to data elements associated with a transaction function, such as an account number or an amount of a balance. Tokens may also reference data elements indicative of internal configuration information associated with the automated transaction machine, such as an address of the building where the automated transaction machine is located.
Tags may also include conditional expressions. For example, when the automated transaction machine constructs a document responsive to a document template, static text and tokens associated with a conditional expression are only printed out when the conditional expression is true. For example, if the conditional expression corresponds to a surcharge being assessed to the transaction, then text associated with the conditional expression will only be printed for transactions that include a surcharge.
In an exemplary embodiment, the template builder is operative to produce a visual representation of a document responsive to the selected tags. The visual representation functions as a print preview and enables the machine operator to verify that the document template will produce the desired format for a document. The exemplary template builder is further operative to produce a list of all conditional tags that are part of the document template. The exemplary template builder is operative to enable the user to individually toggle each of the conditional tags between two states. Information associated with conditional tags toggled to a first state are displayed in the visual representation of the document. Those conditional tags toggled to a second state are not displayed in the visually representation of the document. The toggling of conditional tags between different states enables the operator to quickly show each of the different views of a document which may be produced responsive to the document template.
In an exemplary embodiment of the present invention, the tags based document template may be converted to a runtime format template that may be more efficiently used to generate a document by the automated transaction machine. For example, such a runtime format may correspond to a metasyntatic notation such as a Backus Naur Form (BNF) format. However, in alternative exemplary embodiments documents may be produced responsive directly to the tag based document template. In an exemplary embodiment, tag based document templates which correspond to different sections (header, trailer, detail) of a document may be combined together when forming the runtime format template.